package chess;

import java.awt.Point;

public class SpecialMove implements java.io.Serializable{
	public String name;
	private Point startPoint;
	private Point endPoint;
	private Point pair;
	private Point select;
	private SpecialMoveType type;
	private boolean active;
	
	public SpecialMove(String name, Point start, Point end, Point pair, Point select, SpecialMoveType type) {
		this(start, end, pair, select, type);
		this.name = name;
	}
	
	public SpecialMove(Point start, Point end, Point pair, Point select, SpecialMoveType type) {
		this(start, end, pair, type);
		this.select = select;
	}
	
	public SpecialMove(String name, Point start, Point end, Point pair, SpecialMoveType type) {
		this(start, end, pair, type);
		this.name = name;
	}
	
	public SpecialMove(Point start, Point end, Point pair, SpecialMoveType type) {
		this.startPoint = start;
		this.endPoint = end;
		this.pair = pair;
		this.select = pair;
		this.type = type;
		this.active = true;
	}
	
	public SpecialMove(String name, Point start, Point end, SpecialMoveType type) {
		this();
		this.startPoint = start;
		this.endPoint = end;
		this.select = end;
		this.type = type;
		this.active = true;
	}
	
	public SpecialMove() {
		endPoint = new Point();
		pair = new Point();
		select = new Point();
		type = SpecialMoveType.none;
		active = true;
	}
	
	public Point getStart() {
		return startPoint;
	}
	
	public Point getEnd() {
		return endPoint;
	}
	
	public Point getPair() {
		return pair;
	}
	public Point getSelect() {
		return select;
	}
	public SpecialMoveType getType() {
		return type;
	}
	public boolean isActive() {
		return active;
	}
	
}
